package com.goodomen.garbage.score.constant;

public enum ResponseCodeEnum {

    /**处理成功*/
    SUCCESS(0, "处理成功"),
    /**请求处理失败*/
    FAILURE(1, "处理失败"),
    /**参数错误*/
    PARAM_ERROR(2, "参数错误"),
    REPEAT_REQUEST(3, "您已提交申请，请勿重复提交"),
    SUPER_ADMIN_SUCCESS(8, "超级管理员请求"),
    NO_POWER(401, "您无此权限"),
    /**策略匹配杠杆倍数已达最大保存数量*/
    MAX_MARGIN_RATE_NUMBER(100, "策略匹配杠杆倍数已达最大保存数量"),

    /**正在交易中，请勿重复提交*/
    USER_IS_TRADING(100001, "正在交易中，请先等待上次交易完成"),
    /**手机号码格式不正确*/
    PHONE_FORMAT_ERROR(200001, "手机号码格式不正确"),
    /**请勿重复注册*/
    USER_IS_EXIST(200002, "手机号已被注册，请勿重复注册"),
    /**短信验证码已发送，请勿重复请求*/
    SMS_SIXTY_LIMIT(200003, "短信验证码已发送，请勿重复请求"),
    /**验证码错误*/
    AUTH_CODE_ERROR(200004, "验证码错误"),
    /**当前手机号正在注册中*/
    PHONE_IS_REGISTERING(200005, "当前手机号正在注册中"),
    /**密码格式错误*/
    PWD_FORMAT_ERROR(200006, "密码格式错误，请输入包含数字和英文字母的6-16位字符"),
    /**用户不存在，请先注册*/
    USER_NOT_FIND(200007, "用户不存在，请先注册"),
    /**密码错误*/
    PASSWORD_ERROR(200008, "密码错误"),


    /**资金不足*/
    FUND_NOT_ENOUGH(300001, "资金不足"),
    /**资金订单正在审核中，请勿重复提交*/
    ORDER_IS_AUDIT(300002, "正在审核中，请勿重复提交"),
    /**资金订单正在审核中，请勿重复提交*/
    ORDER_IS_AUDITED(300003, "订单已被审核，请勿重复提交"),
    /** 保证金不足1000 */
    MARGIN_IS_LOWER(300004, "您购买的股票保证金过低，请购买至少1000元保证金的股票"),
    STOCK_IS_INVALID(300005, "您购买的股票已被禁止买入或已停牌"),
    /** 当前为非交易时间，禁止操作 */
    NOT_TRADE_TIME(300006, "当前为非交易时间，禁止操作"),
    ORDER_IN_NOT_FIND(300007, "订单不存在"),
    ORDER_STATUS_IS_CHANGED(300008, "提交失败，订单状态已经改变"),
    STOCK_IS_HIGH_RISK(300009, "当前股票为高风险股票，禁止买入"),
    HOLDING_ORDER_IS_SELLING(300010, "当前持仓单已被委托卖出中，请勿重复提交"),
    SYSTEM_ORDER(300011, "系统委托单，不能撤销"),
    MARGIN_OVER(300012, "保证金不能超过持仓市值"),
    STOCK_IS_OVER_RANGE(300013, "您购买的股票超过限定的涨跌幅，被禁止买入"),
    TODAY_ORDER_CANT_SELL(300014, "今日持仓，无法委托"),
    ENTRUST_PRICE_IS_ERROR(300015, "委托价请设置在涨跌幅区间内"),
    CANCEL_ORDER_ERROR(300016, "撤单失败，请联系客服"),


    BANK_CARD_REPEAT(400001, "银行卡重复添加"),
    BANK_CARD_MAX(400002, "银行卡数量最大"),
    BANK_CARD_IS_ADDING(400003, "正在绑定银行卡中，请勿重复提交"),
    BANK_IS_NOT_EXIST(400004, "银行卡不存在"),

    DEPT_HAVE_SUB(500001, "当前部门有子部门存在，请先删除子部门"),
    ;

    private int code;
    private String msg;

    ResponseCodeEnum(int code, String msg) {
        this.code = code;
        this.msg = msg;
    }

    public int getCode() {
        return code;
    }

    public String getMsg() {
        return msg;
    }

    public static ResponseCodeEnum getByCode(int code) {
        ResponseCodeEnum[] values = values();
        for (ResponseCodeEnum codeEnum : values) {
            if (codeEnum.getCode() == code) {
                return codeEnum;
            }
        }
        return FAILURE;
    }
}
